package top.vanchor.myblog2back.service;

import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import top.vanchor.myblog2back.entity.BlogUser;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Ding
 * @since 2021-11-12
 */
public interface IBlogUserService extends IService<BlogUser> {

    BlogUser toLogin(String username, String password);

    int toModifyUserInfo(BlogUser blogUser);

    BlogUser getUserById(Integer uId);

    /**
     * 验证手机号码唯一
     * @param phoneNum 手机号码
     * @return boolean 是否唯一
     */
    boolean isPhoneNumUnique(String phoneNum);

    /**
     * 用户注册方法
     * @param data 用户注册信息
     * @return int 影响行数
     */
    int userRegister(Map<String, Object> data);

    /**
     * 查询用户by查询者id和目标id
     * @param uId
     * @param loginUserId
     * @return
     */
    BlogUser getUserInfoById(Integer uId,Integer loginUserId);

    /**
     * 根据用户id查询其朋友列表
     * @param id
     * @return
     */
    List<BlogUser> getFriendListById(Integer id);

    /**
     * 以用户的身份-搜索用户
     * @param searchText
     * @return
     */
    PageInfo<BlogUser> searchUsers(String searchText, Integer id, Integer index, Integer num);

    /**
     * 后台管理员按天数禁用用户
     * @param user 用户实体类
     * @param day 封禁时间
     * @return 执行数
     */
    int changeStatusByUser(BlogUser user, int day);
}
